Graphical electronic programming guide

ABSTRACT

Disclosed systems and methods present a graphics based electronic programming guide (EPG) that organizes available content in radial fashion on a display. Which content appears on a screen shot of the EPG may be determined using rating data, user preferences or collaborative filtering. Through collaborative filtering, disclosed embodiments may predict which programs a user may like according to group member ratings. Some disclosed EPGs include a mosaic with graphical indications of an overall rating and graphical indications of which of a plurality of characteristics (e.g., genres) apply to multimedia programs.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates to multimedia services, and moreparticularly, to managing the selection and delivery of multimediacontent through a graphical electronic programming guide.

2. Description of the Related Art

Multimedia streams used for sending multimedia programs (e.g.,television shows) often have robust, but underutilized, metadata.Conventional program guides (e.g., electronic programming guides)present shows in a list view with metadata shown in an informationwindow. Such linear interfaces do not allow users to explore what otherusers are watching, what other users have watched, or what other userslike.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a view of a disclosed electronic programming guide(EPG) arranged in a radial fashion with peripheral nodes surrounding aprimary node, wherein a peripheral node indicating “The O'Reilly Factor”is highlighted (i.e., peripheral node 104-1);

FIG. 2A illustrates a view that may appear in place of the view fromFIG. 1 if a user selects the peripheral node that is highlighted (i.e.,peripheral node 104-1) in FIG. 1;

FIG. 2B illustrates a view that may appear in place of the view fromFIG. 1 if a user selects peripheral node 109-1 in FIG. 1;

FIG. 3 illustrates a disclosed compact mosaic including severalmultimedia programs in which a multimedia program's column widthcorresponds to an overall rating and further blocks have a length thatrepresents the degree to which the multimedia program belongs to a genre(e.g., news, comedy, educational);

FIG. 4 depicts an EPG view that combines the view from FIG. 3 with agraphics based arrangement having a primary node and peripheral nodes;

FIG. 5 depicts an EPG view with a primary node that indicates a movieand peripheral nodes that indicate members of a collaborative group,wherein third order nodes associated with the peripheral nodes includeannotations and ratings associated with their respective members;

FIG. 6 depicts an EPG view showing action movie recommendations in aprimary node and recommended movies in peripheral nodes;

FIG. 7 is a flow diagram of selected elements of a disclosed method ofproviding an EPG;

FIG. 8 is a flow diagram of selected elements of another disclosedmethod of providing an EPG that enables collaborative sketch annotatingof multimedia content;

FIG. 9 illustrates a representative Internet Protocol Television (IPTV)architecture for providing disclosed EPGs and collecting, processing,and using collaborative rating data and implementing collaborativefiltering of EPG elements and programming; and

FIG. 10 depicts a data processing system that may be used in accordancewith disclosed embodiments to provide disclosed EPGs, collect socialcollaborative data, and provide available multimedia programs to a userthat may be filtered according to rating data.

DESCRIPTION OF THE EMBODIMENTS

In one aspect, a method is disclosed for presenting an EPG fornavigating a plurality of available content and selecting a multimediaprogram. The disclosed method includes providing a primary node and anidentifier for the primary node on a display that includes a primarynode identifier such as a user name or the title of a multimediaprogram. Accordingly, the primary node represents a primary componentsuch as a user or multimedia program. The method further includesproviding a plurality of peripheral nodes positioned around the primarynode in a radial fashion. The peripheral nodes represent secondarycomponents that are a subset of the primary component of the primarynode. For example, secondary components may represent actors of a movie,wherein the movie is the primary component represented by the primarynode. In such embodiments, the secondary components are a subset of theprimary component.

In some disclosed EPGs, a plurality of additional secondary componentsare associated with secondary components represented by the peripheralnodes. The additional secondary components and the secondary componentsrepresented by the peripheral nodes may be associated by commoncategories such as “genres,” “multimedia programs viewed by friends,” or“multimedia programs recorded by friends.” In some disclosed EPGs, acommon category is “recommended multimedia programs” and the secondarycomponent represented by the peripheral node and the additionalsecondary components are associated with each other in response to aprediction that a user of the EPG may like one or more multimediaprograms that correspond to the secondary components. Rating dataprovided by members of a collaboration group may be used to predictwhether a user will like a multimedia program, and consequently whetherthe multimedia program will be one of the additional secondarycomponents associated or whether the multimedia program will be asecondary component represented by a peripheral node. Peripheral nodesand graphical elements (e.g., secondary element nodes) representing anysecondary component on disclosed EPGs may be presented to a user with anindication of which secondary component is likely to be more applicableto the user. For example, the peripheral nodes and secondary elementnodes that represent the additional secondary components may representmultimedia programs and may be presented in an order related to a degreeto which the user is predicted to prefer represented multimediaprograms. The ordering of peripheral nodes and secondary element nodesmay be in response to rating data, and the rating data may come from acollaboration group. In addition, the rating data may be inferred fromthe viewing habits of a plurality of group members. In some embodiments,collaborative group member behavior is estimated during the viewing ofthe multimedia program and the response of the collaborative groupmember to the multimedia program is estimated and used to decide whichmultimedia programs to present on disclosed EPGs for selection bycollaborative group members.

The secondary components, the additional secondary components, and thesecondary element nodes are associated with at least one peripheralnode. The secondary element nodes corresponding to a peripheral node maybe arranged according to a rating. The rating may come fromrecommendations from members of a collaborative group or may beautomatically inferred from viewing habits of the members. Somedisclosed methods may include receiving rating data for a portion of thesecondary element nodes and the peripheral node and arranging thesecondary element nodes and the peripheral node in order of theirrespective ratings, with the peripheral node being the most highlyrated. Peripheral nodes and secondary element nodes may be codedaccording to color, shape, or other indications to relay social networkdata, rating data, availability for recording, and the like. Somedisclosed systems allow for collaborative filtering. Throughcollaborative filtering, disclosed methods include choosing fromavailable programs, which programs are presented on an EPG. The choosingof which available programs to present on the EPG may result from aprediction of whether the user may like the programs based on ratingdata, which may be from a collaboration group.

In some embodiments, the category corresponding to a peripheral node andits associated secondary element nodes may be multimedia programs thathave been viewed or recorded by a plurality of group members. Primarynodes and peripheral nodes may be arranged such that the primary node isin the center of a display and peripheral nodes form a circle or ovalaround the primary node. Such an arrangement lends itself to easilynavigating selectable content and receiving and acting on rating datathat may be generated from a collaborative group. For example, a usermay provide successive inputs to a remote control device and scroll in acircular fashion among peripheral nodes. Upon finding a peripheral nodeof interest (e.g., a multimedia program title that the user wishes toview), the user may provide a selection input to the remote controldevice. In response to the selection input, the selected peripheral nodebecomes a primary node on a refreshed display and a new set ofperipheral nodes, that represent secondary components that are a subsetof the new primary component, are displayed. Using disclosedembodiments, a user may see what his friends are watching, and in somecases can see what his friend's friends are watching, and can thereforemake choices about what to watch.

Disclosed methods of providing EPGs may include, in addition toproviding a primary node displayed with a plurality of peripheral nodessurrounding it, providing a compact mosaic that includes ratingsinformation and other information that classifies multimedia programs.Accordingly, a plurality of identifiers (e.g., rectangles) are eachprovided with a label (e.g., a program title) that identifies amultimedia program. Classification elements that correspond to eachmultimedia program have a first size in a first dimension (e.g., awidth) that corresponds to an overall rating of the multimedia program.In some embodiments, each classification element is sized in a seconddimension (e.g., a length) according to the degree to which thecorresponding multimedia program belongs to a genre (e.g., comedy) thatcorresponds to the classification element.

In still another aspect, a disclosed data processing system provides anEPG and includes instructions for presenting a primary node on thedisplay that includes an identifier that represents a primary component,presenting a plurality of peripheral nodes on the display that representsecondary components that belong to a subset of the primary component.In some embodiments, instructions are for presenting third order nodesthat are associated with peripheral nodes. The third order nodesrepresent tertiary components that belong to a subset of the secondarycomponent. The peripheral nodes and the third order nodes may includerating data derived from a social network.

Accordingly, disclosed systems and methods present a graphics based EPGthat organizes available content in radial fashion on a display. Whichavailable content appears on a screen shot may be determined usingrating data or user preferences. In addition, which available contentappears on the EPG may be at least partially determined by collaborativefiltering. Through collaborative filtering, disclosed embodiments maypredict which programs a user may like according to collaborative groupmember ratings. Some disclosed EPGs include for each multimedia programgraphical indications of an overall rating and graphical indications ofwhich of a plurality of characteristics (e.g., genres) apply to themultimedia program.

Digital television programs are often associated with a rich set ofmetadata that may include, for example without limitation, a listing ofactors, writers, directors, guest stars, air dates, and genresassociated with the programs. Users may benefit from the ability tonavigate programming guides and select programs in nonlinear ways.Disclosed EPGs present a new interface concept for navigating themultidimensional information associated with television. Further,disclosed EPGs provide for the visualization for show rating data.

Disclosed embodiments provide a social, asynchronous television viewingexperience that allows users to select multimedia programs in non-linearways. Some embodiments provide a user with on screen elements fornavigating a multidimensional information space that includes metadataand ratings information associated with multimedia programs. A user maynavigate embodied EPGs to find multimedia programs that are highly ratedamong collaboration groups as well as multimedia programs that are inline with their viewing interests. Users are also provided with enhancedEPGs for deciding what multimedia programs to record. In someembodiments, users are provided enhanced programming guides for contentthat is already recorded. For example, a user may view all recordedprograms in a radially oriented graphical interface and simultaneouslyreceive ratings input provided by other users that may be in acollaboration group with the user.

Conventional EPGs are often provided as a matrix organized by time andchannel. The primary selection method for such conventional electronicprogramming guides is to navigate a list and press enter upon a listitem of interest becoming highlighted. Some conventional EPGs may allowusers to organize their content into trees, for example by genre,series, episode, and the like. However, such EPGS only display a singlelevel at any given time and there is no way to jump between sub-treesother than recursing back to a common parent node. Some conventionalEPGs allow a user to search for particular entries. For example, a usermay search for “Harrison Ford” to find programming in which he stars orappears. However, no conventional EPG allows seamless navigation ofmultiple entity types in a unified interface. Disclosed embodimentsprovide such a unified interface and incorporate social rating data toaid users in program selection.

Disclosed systems may automatically receive metadata for multimediaprograms over a content provider network or may achieve such metadatafrom network resources. For example, a disclosed system may fetchmetadata about recorded content from Zap2It.com. The metadata may beprovided in a linear list, with each multimedia program having a uniquerecord that contains information such as channel, air date, title, andactors. In accordance with some disclosed embodiments, the informationis processed and converted into a cyclic, undirected graph. A special“me” node for the user may be inserted into an EPG and all series theuser has recorded may be connected to the node. For example, containedin circles radially located around the “me” node may be secondary nodesthat contain program titles. For example, “Lisa Gets an A” is an episodeof “The Simpsons.” A secondary node may contain “The Simpsons” and atertiary node emanating from the secondary node may contain “Lisa getsan A.” Similarly, a further secondary node may be “Law & Order” and atertiary node emanating from the further secondary node may contain“Dick Wolf,” who is the executive producer of that episode of “Law &Order.” In this way, a user is provided an egocentric view of all of hisor her recorded content that allows for rapid navigation and selectionbased on metadata associated with each recorded program.

Selection of the secondary node “The Simpsons” may result in a “TheSimpsons” node becoming the primary node that other nodes are placedaround. As secondary nodes in the new view, past and present episodes of“The Simpsons” may be presented for selection. A secondary node may betitled “Lisa Gets an A,” and an indication that the program has alreadybeen recorded may also be included. In some embodiments, indications ofwhether friends in a collaboration group have recorded various episodesof “The Simpsons” may also be presented. Peripheral friend data may alsobe provided within disclosed EPGs, which would tell a user whetherfriends of friends had recorded various episodes. Such disclosed systemsprovide users with intuitive, graphic based tools for navigating andselecting multimedia content based on metadata such as actors,directors, air dates, ratings, and genres.

In some embodiments, an item of interest (e.g., a television program) iscentered on a display as primary node and peripheral nodes associatedwith entities (e.g., actors) radiate out from it. The secondary nodes,and nodes dependent from secondary nodes, may be organized in a dynamicfan-like layout. Each node may be color-coded to facilitate recognition.In some embodiments, varying shapes are used for the nodes. For example,a multimedia program that has received a threshold level of negativefeedback may be shown inside a silhouette of a thumbs down. Connectionsbetween nodes of varying orders may be shown as lines. In someembodiments, the lines may be dashed, solid, or have varied colors toindicate further parameters. For example, a dashed line may indicate aprogram that has not yet been broadcast. A small textual description mayalso accompany the lines that connect nodes of different orders. Nodes,programs, lines, and the like that are selected by a user duringnavigation of embodied EPGs may be highlighted in some way to indicatepotential selection.

Some embodiments may use keyboards, mice, or pointer instruments toreceive user input to navigate disclosed EPGs. In some embodiments, aremote control device with as few as two buttons is used to provideclockwise or counterclockwise selection. A third button may provide forselection of EPG elements. A rotating wheel may also be used to navigatein a clockwise or counterclockwise direction. Depressing the rotatingwheel may be used for selection of EPG elements. In some embodiments, aball roller is used to navigate in all directions on a display. Uponselection of an EPG element, for example by depressing a select or enterbutton, the selected node becomes the primary node (i.e., the centernode) on a new display image. A user may be presented with a virtual“back” button as a peripheral node, which enables the previous displayto be shown again. In addition, a “home” button may be presented as afurther peripheral node to allow a user to navigate back to theegocentric view in which the “me” node is the primary node. In somecases, a user may enter a search string, in which results of the searchstring may be presented in a new view as the primary node.Alternatively, a plurality of search results may be displayedsimultaneously, with each search result having a primary node andsurrounding secondary nodes. Upon selection of one of the searchresults, the remaining unselected search results (i.e., the primary nodeand secondary nodes for the unselected search results) may be removedfrom the display.

Disclosed systems and methods allow users to quickly search for contentbased on metadata. For example, a user could easily navigate in thefollowing manner Me>Seinfeld>Sitcoms>Fresh Prince of Bel-Air>WillSmith>Men in Black>Action>24.

In some conventional EPGs, multimedia programs are pigeonholed into asingle, broad genre. Since many shows have complex, multi-faceted plots,a ratings scheme that allows users to rate multiple attribute dimensionsis valuable. Disclosed embodiments may use any of several methods tocollect rating data, which may be used to estimate user engagement andinterest in particular multimedia programs. Users may fill outquestionnaires and the answers may be incorporated manually orautomatically into ratings information that is provided to other users.Each of the users may be in the collaboration group, and may be able toreceive only the ratings information provided by other members of thecollaboration group. In some embodiments, viewers are monitored usingsensors placed in a viewing area that automatically detect an interestlevel of the viewer regarding the multimedia program. For example, pulserate monitors, blood pressure monitors, audible outburst detectors,motion detectors, bone conduction microphones, speech recognitiondevices, and the like may be used with automated systems thatcharacterize whether viewers like or dislike a multimedia program. Suchinformation may be integrated for a general population, a viewing area,or a collaboration group and provided as part of disclosed EPGs.

In some embodiments, user data is collected through an interfacepresented by a set-top box (STB) that operates in conjunction with theservice provider network that provides IPTV based multimedia content.Users in a collaboration group are asked to rate shows on five criteriathat include: action/adventure, comedy, drama, suspense/mystery/horror,and educational/documentary. An overall rating is also collected. Thesevalues can be set from 1 to 5, or “NA” if not applicable. This data iscollected group-wide and is displayed for all recorded series.

In accordance with some disclosed embodiments, the collected data ispresented in a compact mosaic plot with columns and rows. Each columnmay represent a television series with the width of the columnrepresenting the overall show rating. The columns may also be segmentedhorizontally, forming bands that represent a particular attribute of theshow (e.g., action or comedy). The height of the band represents itsrelative rating to the other attributes. The bands may be color coded toease recognition, especially between shows. In such embodiments, thecombination of width for overall rating and height for attribute ratingcauses dominant attributes in highly rated shows to become prominent.

In accordance with disclosed embodiments, social data may be infusedinto embodied EPGs. For example, viewer comments may be presented asperipheral nodes that surround a primary node with a reference to a pastor scheduled football game. In addition to such textual annotations,interest profiles, the number of previous viewers, the number ofscheduled viewers, recommendations from friends, and the like may beincluded in disclosed electronic programming guides. Disclosednavigation graphs may support new entity types, including airtime (e.g.,9 pm), channel (e.g., NBC), duration (e.g., 30 minutes), characters(e.g., Al Bundy) and other items of interest. Accordingly, disclosedembodiments provide powerful ways for people to locate content forviewing or recording. For example, a user may easily navigate adisclosed EPG to find a highly rated show that is rated TV14 and is 30minutes in length.

Disclosed EPGs provide enhanced social networking information in anintuitive graphical fashion. For example, disclosed EPGs make itpossible for a user to center a friend as a primary node and see each ofthe multimedia programs the friend has recorded as a peripheral node.Additionally, friends can also connect to entities they have explicitlynoted as favorites, for example, their favorite actor or genre. Variousinput modalities may be used including speech, gesture, and visionsystems to receive input regarding user ratings and preferences. Inaddition, such input modalities may be used for navigating disclosedEPGs.

In the following description, details are set forth by way of example tofacilitate discussion of the disclosed subject matter. It should beapparent to a person of ordinary skill in the field, however, that thedisclosed embodiments are exemplary and not exhaustive of all possibleembodiments. Throughout this disclosure, a hyphenated form of areference numeral refers to a specific instance of an element and theun-hyphenated form of the reference numeral refers to the elementgenerically or collectively. Thus, for example, widget 12-1 refers to aninstance of a widget class, which may be referred to collectively aswidgets 12 and any one of which may be referred to generically as awidget 12.

Turning now to the drawings, FIG. 1 illustrates a view of EPG 100arranged in a radial fashion with peripheral nodes (e.g., peripheralnodes 124, 118-1, 127-1, 106-1, 109-1 and 104-1) surrounding primarynode 102. As shown, peripheral node 104-1 is highlighted, whichindicates that a user may select peripheral node 104-1 and itsunderlying multimedia program (i.e., “The O'Reilly Factor”) for viewingthe program, recording the program, or receiving further informationabout the program. Category 125-2 has the text “recorded” with it toindicate that peripheral node 104-1 and its associated secondary elementnodes (e.g., secondary element node 104-2) are multimedia programs thathave been recorded by the primary component (i.e., the user described byidentifier 120 as “Me”) represented by primary node 102. Similarly,category 125-5 indicates that the secondary component (i.e., one or moreepisodes of “Seinfeld”) represented by peripheral node 109-1 isavailable for live television viewing. In the context of thisdisclosure, “live television” indicates programming which may bepreviously recorded but that is broadcast, unicast, or multicast andavailable to the user of EPG 100. Similarly, the secondary element node109-2, which represents secondary component “The Shield” is availablefor live television viewing. As shown, it is coded in an oval shape,which in some embodiments represents that the secondary component (i.e.,“The Shield”) represented by secondary element node 109-2 is recommendedby EPG 100. Such recommendations may come from collaborative groupmember data or rating data.

Peripheral node 124 represents secondary component 110 which has anidentifier “Movie.” Peripheral node 124 as shown is connected to primarynode 102 and belongs to a category 125-3 related to “getrecommendations.” Likewise, secondary element nodes for “Sport” and“News” may be related to category 125-3 as shown. If a user navigatesEPG 100 in a circular direction shown by arrow 124, peripheral node 124may be selected to allow the user to get movie recommendations. Themovie recommendations may be based on predicting what the user of EPG100 may like. The predicting may be based on inferred group member data,group member rating data expressly received from group members, or frominferences made by monitoring viewing habits, for example, of the userof EPG 100.

Peripheral node 118-1 belongs to category 125-4 and allows the user ofEPG 102 to navigate to a further display which will contain a primarynode with an identifier “genre” and peripheral nodes with identifiers,“Talk Show,” “Drama,” “News,” and “Movie.” As shown, peripheral node118-1 belongs to the category 125-4 (i.e., a genre category) withsecondary element node 118-2 which represents a secondary componentwhich is a “Drama” genre.

Peripheral node 127-1 belongs to a category 125-6 that is “Livetelevision” and is arranged by time. As shown, peripheral node 127-1 isa secondary component that is “8:00 PM.” Additionally, secondary elementnode 127-2 also belongs to category 125-6 (i.e., a “Live television”category) and has a further secondary component which is “9:00 PM.”Category 125-6 complements category 125-5 in that it arranges orprovides for the navigation of available live television programmingbased on time of availability (i.e., air time) rather than based onidentifier such as the titles of the multimedia programs. It isnoteworthy that the peripheral nodes illustrated in EPG 100 are forillustrative purposes and are not meant to limit the scope of disclosedembodiments. For example without limitation, peripheral node 127-1 mayhave secondary components that are dates instead of times. In otherwords, peripheral node 127-1 and related secondary element nodes (e.g.,secondary element node 127-2) may each correspond to a day. Inaccordance with disclosed embodiments, the number of secondary elementnodes, the number of peripheral nodes, and the identity and type ofsecondary components associated with each may be chosen automaticallyusing collaborative rating data, data inferred from viewing habits ofthe user of EPG 100, and other methods that attempt to predict whatmultimedia content the user of EPG 100 may like.

As shown, peripheral node 106-1 belongs to category 125-1 which, asshown, includes “friends” of the user, described as “Me” by identifier120. Peripheral node 106-1 illustrates that it represents a secondarycomponent that is a person named “Sally.” Likewise, secondary elementnode 106-2 illustrates that represents a further secondary componentthat is a person named “Doug.” Doug and Sally are friends of the user ofEPG 100. By pressing a button on a remote control, for example an arrowbutton, user EPG 100 may navigate from peripheral node 104-1 toperipheral node 106-1. By pressing a select button on a remote control,for example, the user may thereby causing a new display to EPG view toappear on a display with a primary node labeled “friends,” in which theprimary component of the primary node is a group of friends of the userEPG 100. In a refreshed display, peripheral nodes would represent Sally,Doug, Fred, and Joe. In some embodiments, secondary components representby peripheral nodes would be chosen automatically. For example, friendsthat are most commonly accessed by the user EPG 100 may be displayedfirst. In some embodiments, the user of EPG 100 may provide furtherinput to expand or increase the number of friends represented byperipheral nodes in the new view. For example, the user may changecriteria by which peripheral nodes are chosen. Accordingly, the user mayrequest that “work friends” are included or “school friends” areincluded in the new display and represented by peripheral nodes.

The EPG 100 and FIG. 1 illustrates that peripheral node 104-1 ishighlighted (i.e., bolded). Selection of peripheral node 104-1, in someembodiments, causes the secondary component (i.e., The O'Reilly Factor)to become the primary component represented by a primary node in a newdisplay. In accordance with some embodiments, individual categories 125may be highlighted and selected for further review, examination,research, and selection. For example, a user may navigate EPG 100 tohighlight and select category 125-2. In response, a new display mayappear with recommended programs that were recorded which, in accordancewith EPG 100, would include peripheral nodes that represent secondarycomponents: The O'Reilly Factor, The Shield, Will & Grace, and TheColbert Report.

FIG. 2A illustrates an EPG view 200 that may appear in place of theillustrated view from EPG 100 (FIG. 1) if a user selects peripheral node104-1 that is highlighted in FIG. 1. As shown, primary node 201represents a multimedia program titled “The O'Reilly Factor,” which isindicated by identifier 231. In FIG. 1, peripheral node 104-1 belongs tocategory 125-2, which was a category of recorded multimedia programs.Accordingly, peripheral nodes to 223, 221, 219, 217, and 213 relate toepisodes of The O'Reilly Factor that were recorded last week, thisMonday, yesterday and that are scheduled to be recorded today andtomorrow. Peripheral node 221 includes an identifier 233 that is “ThisMonday” which indicates that peripheral node 221's secondary componentincludes any episode of The O'Reilly Factor recorded this Monday. Asshown, peripheral node 217 has a graphical element 229 shown as a dashedbox. Graphical element 229 is connected to primary node 201 throughconnector 225, which is shown as a dashed line. In this way, graphicalelement 229 and 225 are coded (i.e., dashed) to indicate that today'sepisode of The O'Reilly Factor is not yet recorded but is scheduled tobe recorded. Similarly, peripheral node 213 indicates that tomorrow'sepisode of The O'Reilly Factor is scheduled to be recorded. Peripheralnode 214 has a secondary component that corresponds to a home menu orhomepage of an EPG (e.g., EPG 100 in FIG. 1) that includes EPG view 200.Peripheral node 215 allows a user to navigate back to the EPG viewdisplayed in FIG. 1. As shown, peripheral node 215 is associated withgraphical element 227 which is coded to indicate a backwards arrow.Likewise, peripheral node 214 is associated with graphical element 228which is coded by its shape (i.e., a house shape) to indicate a homemenu.

As shown in FIG. 2A, EPG view 200 includes peripheral node 207 which hasa secondary component that includes guests that have appeared on TheO'Reilly Factor. The configuration of EPG view 200 may be influenced bya “guest” field within metadata that is received with a multimediastream that includes The O'Reilly Factor. Similarly, all of theinformation (e.g., identifiers, shape data, air date, collaborativeratings, group member ratings) that may be included in third order nodes203, 205, 209, and 211 may be received with the multimedia stream thatincludes The Or other Factor. Alternatively, the metadata may beretrieved by disclosed embodiments and methods from third-party sourcesthat operate independently from a service provider network that providesthe streaming multimedia content that includes The O'Reilly Factor. Insome embodiments, a service provider network that streams multimediacontent including multimedia programs selectable by disclosed EPGsincludes rudimentary EPG data, and more elaborate or detailed EPG datamay be retrieved from third-party sources and integrated into disclosedEPGs.

As shown, peripheral node 207 is highlighted (i.e., bolded) and the usermay navigate in the direction of arrow 231 by, for example, depressing abutton on a remote control device. Alternatively, a user may rotate afinger on a touchscreen that illustrates a circle that corresponds tothe radial fashion in which EPG view 200 and other EPG views arearranged. Roller balls, wheels, laser point devices, and motiondetecting equipment may be incorporated into remote control devices toenable a user to provide user inputs to navigate EPG view 200. In someembodiments, a user rotates an EPG view at a first level (e.g., aperipheral node level or a category level) but may provide user input tonavigate at a second level (e.g., a third order node level).Accordingly, a user may provide input to navigate EPG view 200 usingsuccessive assertions of a remote control button to alternatesuccessively third order nodes 205, 209, 211, and 203. As shown, thirdorder node 205 has a dashed graphical element, which may indicate thatan episode in which Karl Rove is a guest on The O'Reilly Factor isscheduled to be recorded but has not yet been recorded.

In some embodiments a peripheral node or third order node may representan actor (or genre, director, etc.) Disclosed EPGs permit a user toexplore, by selecting the node, other multimedia programs in which theactor participated. Such data (e.g., actor data) may be received asmetadata with a multimedia stream, may be accessed periodically fromthird-party sources, or may be accessed in real time in response to auser navigating a disclosed EPG. Disclosed EPGs may track the selectionsmade while navigating views and store the information. The storedinformation may be analyzed to determine other multimedia content,products, or services to offer the user. Also, the information may beused to determine the content of future views of a EPG graph. Forexample, if a user nearly always explores the reviews of a movie (e.g.,by navigation of nodes in an EPG to receive the reviews) then disclosedEPGs may, as a rule, provide nodes in EPG views, when appropriate, toprovide easy links to reviews for all movies. In this way, disclosedembodiments may detect preferences of EPG users and adapt accordingly.In some embodiments, such information may be used to providerecommendations to other users. Also, statistics regarding thenavigation paths of other EPGs may be used to decide what nodes withinan EPG to present to a user. For example, if 90% of users navigate anEPG to view outtakes and deleted scenes of a movie (e.g., Borat), thendisclosed EPGs may offer a node that provides easy navigation to theouttakes and deleted scenes. Therefore, disclosed EPGs utilizecollaborative filtering data from the user and from others to decidewhat content to include within nodes of EPG views and to decide whatcontent to offer users. Disclosed systems collect collaborativefiltering data and are used for collaborative filtering. To accomplishthis, user feedback (e.g., watching how a user explores an EPG graph) isutilized and the structure of the content and metadata are analyzed. Inaddition to metadata such as show titles and episodes, other metadatamay be added, such as genre, actors, directors, and the like. Disclosedembodiments may use social network data (e.g., what a user's friends arewatching) in combination with other data, such as a network ofactors/actresses that have worked together, to make recommendations andotherwise populate an EPG graph.

FIG. 2B illustrates an EPG view 277 that may appear in place of the viewfrom FIG. 1 if a user selects peripheral node 109-1 in FIG. 1. As shown,primary node 283 represents and corresponds to a multimedia programtitled, “Seinfeld.” Secondary node 278 represents a secondary componentthat includes the actors from Seinfeld. Secondary node 279 represents asecondary component that includes writers that contribute to Seinfeld.Likewise, peripheral node 280 represents a secondary component thatincludes guest stars, secondary node 281 represents a secondarycomponent that includes air dates of episodes of Seinfeld, andperipheral node 282 represents a secondary component that includesdirectors of Seinfeld. Peripheral node 279 is displayed as selectable inthat it is highlighted. A user may navigate EPG view 277 in a directionindicated by arrow 284 (i.e., in a circular fashion) and causeperipheral node 280 to be highlighted and therefore selectable. Asshown, peripheral nodes 278, 279, 280, 281, and 282 are arranged in aradial fashion around primary node 283.

FIG. 3 illustrates a mosaic 300 that may be included with or as an EPGin accordance with disclosed embodiments. As shown, mosaic 300 presentsa plurality of graphical classification elements 302 that representsmultimedia programs and contains data including, for example, ratingdata and classification data (e.g., according to genre). Graphicalclassification element 302-2 includes an identifier 327 with the text,“The Colbert Report.” Accordingly, graphical classification element302-2 corresponds to a multimedia program titled, “The Colbert Report.”Mosaic 300 also includes graphical classification elements 302-1, 302-3,and 302-4 which correspond, respectively, to multimedia programs titled“Will & Grace,” “The Shield,” and “The O'Reilly Factor.” Block 319 is anindividual element of graphical classification element 302-2 that haswidth 303 (i.e., a first size in first dimension 305) that indicates arating. In mosaic 300, the wider a graphical classification element andits blocks are, the more highly rated the corresponding multimediaprogram is. In mosaic 300, The Colbert Report is more highly rated thanThe Shield, which has a graphical classification element 302-3 that isnarrower than graphical classification element 302-2 and block 319. Asshown, individual elements (e.g., block 319) of graphical classificationelement 302-2 correspond to one of the plurality of genres. Block 319corresponds to a genre 313 which is “Comedy.” Another genre 315 withingraphical classification element 302-2 is “News.” As shown, block 319has a height 311 (i.e., a second size in dimension 307) that indicates adegree to which The Colbert Report belongs to genre 313 (i.e., Comedy).

Data used for determining the height and width of block 319 may becollected from members of a collaborative group. The data may becollected from biometric sensors that detect reactions from the membersof the collaborative group and indicate a degree to which the membersenjoy the program. If a high degree of laughter is detected, and aprogram is listed as a comedy, the width of a graphical classificationelement may be very wide compared to others that correspond to programsin which a low degree of laughter was detected. Other data can be used,for example annotation data provided by collaborative group members.Collaborative crewmembers may also rate programs on a scale (e.g., a 1to 10 scale), and this data may be integrated, synthesized, andprocessed to determine the width and height of blocks and graphicalclassification elements. Disclosed embodiments include methods ofpresenting EPGs in a novel fashion and methods of providingcollaborative filtering that may be based on collaborative group memberdata. The collaborative group member data may be inferred from viewinghabits of a user, viewing habits of a collaborative group member, ordetected automatically from audio data, video data, haptic data, andother types of monitoring that may be used to determine the degree towhich a user and members of a collaborative group like certainprogramming. Which multimedia programs appear in mosaic 300 and EPG 100in FIG. 1 (e.g., as peripheral nodes) may be determined usingcollaborative filtering based on data obtained from collaborative groupmembers. Advances in technology allow a user to choose from a massivenumber of pay-per-view, video-on-demand, streaming music, and othermultimedia programs for consumption. Disclosed embodiments, methods,services, and data processing systems allow a user to be provided withan improved method of visualizing, navigating, and selecting availablecontent. In addition, a user may be presented with content more likelyto appeal to the user based on predictive analysis of the user's habits,likes, and dislikes and the habits, likes, and dislikes of other membersof collaborative groups.

FIG. 4 depicts an EPG view 400 that combines view 300 from FIG. 3 with agraphics based EPG element 402 having a primary node 409 and peripheralnodes (e.g. peripheral node 403) similar to those illustrated in EPG 100(FIG. 1) and EPG view 200 (FIG. 2). As shown, peripheral node 403 ishighlighted (i.e., bolded) and graphical characterization element 401 isalso highlighted (i.e., bolded). As a user navigates graphics based EPGelement 402 in a circular fashion, portions of view 300 (as combinedwith graphics based EPG element 402 as displayed in EPG view 400) may behighlighted so that peripheral nodes that represent a particular programare highlighted in EPG element 402 simultaneously with highlighting thatappears in graphical characterization elements (in view 300) thatcorrespond to the same program.

FIG. 5 depicts an EPG view 500 with a primary node 502 that represents amovie titled, “Batman Forever,” which is primary node 502's primaryelement as disclosed herein. The peripheral nodes 501-1 through 501-5belong to a “friends” category of a user of EPG 100 (FIG. 1), forexample. As shown, peripheral node 501-3 has a secondary component thatis a friend named “Jane Doe.” Peripheral node 501-2 has a secondarycomponent that is a friend named “Mary Smith.” Extending from peripheralnode 501-2 is an annotation 533 that includes the text “Loved It.”Annotation 533 may be used by disclosed systems to predict whether auser of EPG 100 may like the primary element (i.e., Batman Forever) forprimary node 502.

Peripheral node 501-5 represents a secondary component that is a friendnamed “John Doe.” Connected to peripheral node 501-5 is a third ordernode 509 that includes collaborative rating data. As shown, rating data529 shows two out of a possible of five smiley faces. This indicatesthat John Doe did not like Batman Forever. Collaborative data 531 may beautomatically detected by disclosed systems and provided to the user ofEPG view 500. As shown in collaborative data 531, John Doe watchedBatman Forever one time. In contrast, Jane Smith, who is a friend ofJohn Doe (represented by peripheral node 501-5) is represented by thirdorder node 505. Associated with third order node 505, and thereforeassociated with Jane Smith (i.e., the tertiary element for third ordernode 505) is collaborative data 535. Collaborative data 535 indicatesthat Jane Smith watched Batman Forever six times and also recorded themovie. This information can be determined automatically from a serviceprovider network or customer premises equipment (CPE) that monitors theviewing habits of Jane Smith. As shown, Jane Smith is a friend of JohnDoe, who is a friend of the user of EPG view 500. In this way, disclosedembodiments allow a user of a disclosed EPG to monitor the viewinghabits of friends of friends (i.e., a friend's friends).

As shown in EPG view 500 (FIG. 5), peripheral node 501-4 has a secondarycomponent that is a friend named Rick Doe. Connected to peripheral node501-4 is a third order node with rating data 521 that shows five smileyfaces. This indicates that Rick Doe enjoyed Batman Forever. Rating data521 may have been expressly provided by Rick Doe. Alternatively, it mayhave been inferred from the behavior of Rick Doe as monitored whilewatching the program. Rating data 523 indicates that Rick Doe watchedBatman Forever five times. Rating data 525 indicates that Rick Doerecorded the multimedia program. Element 527 is a selectable elementthat shows a favorite scene as chosen by Rick Doe. Alternatively,disclosed systems may infer a favorite scene in cases in which Rick Doerepeatedly watches one scene to the exclusion of other scenes. A furtherthird order node coupled to peripheral node 501-4 includes data 507-1.As shown, data 507-1 contains information regarding the number (i.e., 25outbursts) of vocal outbursts recorded during one or more viewings byRick Doe of Batman Forever. Data 507-2 provides that Rick Doe was scared20% of the time during a showing of Batman Forever. Data 507-2 may bederived from monitoring Rick Doe or the information for data 507-2 maybe expressly provided by Rick Doe. Similarly, data 507-3 indicates thatRick Doe was happy 10% of the time during one or more showings of BatmanForever. Using EPG view 500, a user may determine what shows he or shemay like based on collaborative ratings provided by friends or membersof a collaborative group. In some cases, rating data may be inferred orcome from biometric sensors, haptic data processors, subdermal sensors,video data, audio data, motion data, temperature data, ambient lightdata, and the like.

FIG. 6 depicts EPG view 600 that provides a user with action movierecommendations. As shown, primary node 607 has a primary componentwhich is described by identifier 611 as “Action Movie Recommendations.”A user may be presented with EPG view 600 by selecting peripheral node124 from FIG. 1. As shown, a user may navigate between peripheral node606-2 and peripheral node 606-3 in a direction indicated by arrow 609.Similarly, a user may navigate from peripheral node 606-3, which asshown is highlighted as selectable, to peripheral node 606-1. Eachperipheral node in EPG view 600 represents a secondary component that isa recommended action movie. Which movies are displayed as recommendedaction movies in EPG view 600 may be determined by predicting whatmovies a user of EPG view 600 may enjoy. Predictions of what movies auser of EPG view 600 may enjoy may be based on expressly entered ratingdata or inferred data. Peripheral node 606-3 has a secondary componentthat is the movie Batman Forever as indicated by identifier 613. Asshown, EPG elements 604 may contain identical information or similarinformation as shown in EPG view 500 from FIG. 5. Thus, EPG elements 604may provide a user with a preview of what type of data may be presentedif he or she selects peripheral node 606-3 for further details andinformation. Upon selection of peripheral node 606-3, a new EPG view maybe presented with information from peripheral node 606-3 shown as a newprimary node and other data, some of which is shown in EPG elements 604,shown as peripheral nodes, third order nodes, and so on.

FIG. 7 illustrates a method 700 of presenting an EPG for selecting amultimedia program. As shown, method 700 includes providing (block 701)a primary node on a display, providing (block 703) a plurality ofperipheral nodes positioned around the primary node on the display, andassociating (block 705) a plurality of secondary components of a commoncategory with a secondary component represented by one or more of theperipheral nodes. The primary node includes an identifier of a primarycomponent. In accordance with disclosed embodiments, the secondarycomponents that are represented by the peripheral nodes are a subset ofthe primary component represented by the primary node. Method 700further includes displaying (block 707) one or more secondary elementnodes that correspond to further secondary components that have a commoncategory with the secondary components represented by the peripheralnodes. Method 700 also includes predicting (block 709) a plurality ofmultimedia programs that a user of the EPG would like. Predicting may bebased on the user's stated interest or preferences as compared tocorresponding preferences of other members of a collaboration group.Further, predicting may be based on comparing the user's likes ordislikes, as determined from monitoring the viewing habits of the userover a period, to the likes and dislikes of other collaboration memberswhose viewing habits have been similarly monitored. Still further,predicting may be based on the recommendations of other collaborationmembers. Method 700 includes representing (block 711) a portion of aplurality of multimedia programs by peripheral nodes. In such cases, theportion of the plurality of multimedia programs are secondary componentsto one or more peripheral nodes.

FIG. 8 illustrates a method 800 of presenting an EPG for viewing aselectable plurality of multimedia programs. The method includespresenting (block 801), on a display, a plurality of identifiers (e.g.,identifier 327 in FIG. 3) that correspond to a plurality of multimediaprograms (e.g., The Colbert Report in FIG. 3). The method furtherincludes presenting (block 803) one or more graphical classificationelements (e.g. classification element 317 in FIG. 3) that correspond toindividual programs of the plurality of multimedia programs. Thegraphical classification elements may include a block (e.g., block 319in FIG. 3) or series of blocks in a compact mosaic (e.g., mosaic 300 inFIG. 3) that corresponds to a multimedia program (e.g., The ColbertReport shown as item 302-2 in FIG. 3). In accordance with the method800, individual elements (e.g., block 319 in FIG. 3) of the graphicalclassification elements have (block 805 in method 800) a first size(e.g., width 303 in FIG. 3) in a first dimension (e.g., dimension 305 inFIG. 3), wherein the first size indicates a rating. Further inaccordance with method 800, individual elements (e.g., block 319 in FIG.3) of the graphical classification elements are sized (block 807 inmethod 800) in a second dimension (e.g., dimension 307 in FIG. 3) thatindicates a degree to which the corresponding multimedia program belongsto one of a plurality of genres or other categories. Accordingly, asshown in FIG. 3, block 319 has a height 311 that is larger than othersuch blocks for “news,” “educational,” and “adult content.” Thisrelative sizing of block 319 in the direction of dimension 307 indicatesthat The Colbert Report is more a comedy than it is a news show, than itis an educational program, or than it is a program that contains adultcontent.

Television programs, video on-demand (VOD) movies, digital televisioncontent, music programming, and a variety of other types of multimediacontent may be distributed to multiple users (e.g., subscribers) overvarious types of networks. Suitable types of networks that may beconfigured to support the provisioning of multimedia content services bya service provider include, as examples, telephony-based networks,coaxial-based networks, satellite-based networks, and the like.

In some networks including, for example, traditional coaxial-based“cable” networks, whether analog or digital, a service providerdistributes a mixed signal that includes a large number of multimediacontent channels (also referred to herein as “channels”), each occupyinga different frequency band or frequency channel, through a coaxialcable, a fiber-optic cable, or a combination of the two. The bandwidthrequired to transport simultaneously a large number of multimediachannels may challenge the bandwidth capacity of cable-based networks.In these types of networks, a tuner within an STB, television, or otherform of receiver is required to select a channel from the mixed signalfor playing or recording. A user wishing to play or record multiplechannels typically needs to have distinct tuners for each desiredchannel. This is an inherent limitation of cable networks and othermixed signal networks.

In contrast to mixed signal networks, IPTV networks generally distributecontent to a user only in response to a user request so that, at anygiven time, the number of content channels being provided to a user isrelatively small, e.g., one channel for each operating television pluspossibly one or two channels for simultaneous recording. As suggested bythe name, IPTV networks typically employ IP and other open, mature, andpervasive networking technologies to distribute multimedia content.Instead of being associated with a particular frequency band, an IPTVtelevision program, movie, or other form of multimedia content is apacket-based stream that corresponds to a particular network endpoint,e.g., an IP address and a transport layer port number. In thesenetworks, the concept of a channel is inherently distinct from thefrequency channels native to mixed signal networks. Moreover, whereas amixed signal network requires a hardware intensive tuner for everychannel to be played, IPTV channels can be “tuned” simply bytransmitting to a server an indication of a network endpoint that isassociated with the desired channel.

IPTV may be implemented, at least in part, over existing infrastructureincluding, for example, a proprietary network that may include existingtelephone lines, possibly in combination with CPE including, forexample, a digital subscriber line (DSL) modem in communication with anSTB, a display, and other appropriate equipment to receive multimediacontent and convert it into usable form. In some implementations, a coreportion of an IPTV network is implemented with fiber optic cables whilethe so-called “last mile” may include conventional, unshielded,twisted-pair, copper cables.

IPTV networks support bidirectional (i.e., two-way) communicationbetween a user's CPE and a service provider's equipment. Bidirectionalcommunication allows a service provider to deploy advanced features,such as VOD, pay-per-view, advanced programming information (e.g.,sophisticated and customizable EPGs), and the like. Bidirectionalnetworks may also enable a service provider to collect informationrelated to a user's preferences, whether for purposes of providingpreference-based features to the user, providing potentially valuableinformation to service providers, or providing potentially lucrativeinformation to content providers and others.

Referring now to the drawings, FIG. 9 illustrates selected aspects of amultimedia content distribution network (MCDN) 900 for providing EPGs inaccordance with disclosed embodiments. MCDN 900, as shown, is amultimedia content provider network that may be generally divided into aclient side 901 and a service provider side 902 (a.k.a., server side902). Client side 901 includes all or most of the resources depicted tothe left of access network 930 while server side 902 encompasses theremainder.

Client side 901 and server side 902 are linked by access network 930. Inembodiments of MCDN 900 that leverage telephony hardware andinfrastructure, access network 930 may include the “local loop” or “lastmile,” which refers to the physical cables that connect a subscriber'shome or business to a local exchange. In these embodiments, the physicallayer of access network 930 may include varying ratios of twisted paircopper cables and fiber optics cables. In a fiber to the curb (FTTC)access network, the last mile portion that employs copper is generallyless than approximately 300 miles in length. In fiber to the home (FTTH)access networks, fiber optic cables extend all the way to the premisesof the subscriber.

Access network 930 may include hardware and firmware to perform signaltranslation when access network 930 includes multiple types of physicalmedia. For example, an access network that includes twisted-pairtelephone lines to deliver multimedia content to consumers may utilizeDSL. In embodiments of access network 930 that implement FTTC, a DSLaccess multiplexer (DSLAM) may be used within access network 930 totransfer signals containing multimedia content from optical fiber tocopper wire for DSL delivery to consumers.

Access network 930 may transmit radio frequency (RF) signals overcoaxial cables. In these embodiments, access network 930 may utilizequadrature amplitude modulation (QAM) equipment for downstream traffic.In these embodiments, access network 930 may receive upstream trafficfrom a consumer's location using quadrature phase shift keying (QPSK)modulated RF signals. In such embodiments, a cable modem terminationsystem (CMTS) may be used to mediate between IP-based traffic on privatenetwork 910 and access network 930.

Services provided by the server side resources as shown in FIG. 9 may bedistributed over a private network 910. In some embodiments, privatenetwork 910 is referred to as a “core network.” In at least someembodiments, private network 910 includes a fiber optic wide areanetwork (WAN), referred to herein as the fiber backbone, and one or morevideo hub offices (VHOs). In large-scale implementations of MCDN 900,which may cover a geographic region comparable, for example, to theregion served by telephony-based broadband services, private network 910includes a hierarchy of VHOs.

A national VHO, for example, may deliver national content feeds toseveral regional VHOs, each of which may include its own acquisitionresources to acquire local content, such as the local affiliate of anational network, and to inject local content such as advertising andpublic service announcements from local entities. The regional VHOs maythen deliver the local and national content to users served by theregional VHO. The hierarchical arrangement of VHOs, in addition tofacilitating localized or regionalized content provisioning, mayconserve bandwidth by limiting the content that is transmitted over thecore network and injecting regional content “downstream” from the corenetwork.

Segments of private network 910, as shown in FIG. 9, are connectedtogether with a plurality of network switching and routing devicesreferred to simply as switches 913 through 917. The depicted switchesinclude client facing switch 913, acquisition switch 914,operations-systems-support/business-systems-support (OSS/BSS) switch915, database switch 916, and an application switch 917. In addition toproviding routing/switching functionality, switches 913 through 917preferably include hardware or firmware firewalls, not depicted, thatmaintain the security and privacy of network 910. Other portions of MCDN900 may communicate over a public network 912, including, for example,Internet or other type of web-network where the public network 912 issignified in FIG. 9 by the World Wide Web icons 911.

As shown in FIG. 9, client side 901 of MCDN 900 depicts two of apotentially large number of client side resources referred to hereinsimply as client(s) 920. Each client 920, as shown, includes an STB 921,a residential gateway (RG) 922, a display 924, and a remote controldevice 926. In the depicted embodiment, STB 921 communicates with serverside devices through access network 930 via RG 922.

As shown in FIG. 9, RG 922 may include elements of a broadband modemsuch as a DSL or cable modem, as well as elements of a firewall, router,and/or access point for an Ethernet or other suitable local area network(LAN) 923. In this embodiment, STB 921 is a uniquely addressableEthernet compliant device. In some embodiments, display 924 may be anyNational Television System Committee (NTSC) and/or Phase AlternatingLine (PAL) compliant display device. Both STB 921 and display 924 mayinclude any form of conventional frequency tuner. Remote control device926 communicates wirelessly with STB 921 using infrared (IR) or RFsignaling. STB 921-1 and STB 921-2, as shown, may communicate throughLAN 923 in accordance with disclosed embodiments for sharingcollaborative rating data between group members.

In IPTV compliant implementations of MCDN 900, clients 920 areconfigured to receive packet-based multimedia streams from accessnetwork 930 and process the streams for presentation on displays 924. Inaddition, clients 920 are network-aware resources that may facilitatebidirectional-networked communications with server side 902 resources tosupport network hosted services and features. Because clients 920 areconfigured to process multimedia content streams while simultaneouslysupporting more traditional web-like communications, clients 920 maysupport or comply with a variety of different types of network protocolsincluding streaming protocols such as real-time transport protocol (RTP)over user datagram protocol/internet protocol (UDP/IP) as well as webprotocols such as hypertext transport protocol (HTTP) over transportcontrol protocol (TCP/IP).

The server side 902 of MCDN 900 as depicted in FIG. 9 emphasizes networkcapabilities including application resources 905, which may have accessto database resources 909, content acquisition resources 906, contentdelivery resources 907, and OSS/BSS resources 908.

Before distributing multimedia content to users, MCDN 900 first obtainsmultimedia content from content providers. To that end, acquisitionresources 906 encompass various systems and devices to acquiremultimedia content, reformat it when necessary, and process it fordelivery to subscribers over private network 910 and access network 930.

Acquisition resources 906 may include, for example, systems forcapturing analog and/or digital content feeds, either directly from acontent provider or from a content aggregation facility. Content feedstransmitted via VHF/UHF broadcast signals may be captured by an antenna941 and delivered to live acquisition server 940. Similarly, liveacquisition server 940 may capture downlinked signals transmitted by asatellite 942 and received by a parabolic dish 944. In addition, liveacquisition server 940 may acquire programming feeds transmitted viahigh-speed fiber feeds or other suitable transmission means. Acquisitionresources 906 may further include signal conditioning systems andcontent preparation systems for encoding content.

As depicted in FIG. 9, content acquisition resources 906 include a VODacquisition server 950. VOD acquisition server 950 receives content fromone or more VOD sources that may be external to the MCDN 900 including,as examples, discs represented by a DVD player 951, or transmitted feeds(not shown). VOD acquisition server 950 may temporarily store multimediacontent for transmission to a VOD delivery server 958 in communicationwith client-facing switch 913.

Content delivery resources 907, as shown in FIG. 9, are in communicationwith private network 910 via client facing switch 913. In the depictedimplementation, content delivery resources 907 include a contentdelivery server 955 in communication with a live or real-time contentserver 956 and a VOD delivery server 958. For purposes of thisdisclosure, the use of the term “live” or “real-time” in connection withcontent server 956 is intended primarily to distinguish the applicablecontent from the content provided by VOD delivery server 958. Thecontent provided by a VOD server is sometimes referred to astime-shifted content to emphasize the ability to obtain and view VODcontent substantially without regard to the time of day or the day ofweek.

Content delivery server 955, in conjunction with live content server 956and VOD delivery server 958, responds to user requests for content byproviding the requested content to the user. The content deliveryresources 907 are, in some embodiments, responsible for creating videostreams that are suitable for transmission over private network 910and/or access network 930. In some embodiments, creating video streamsfrom the stored content generally includes generating data packets byencapsulating relatively small segments of the stored content accordingto the network communication protocol stack in use. These data packetsare then transmitted across a network to a receiver (e.g., STB 921 ofclient 920), where the content is parsed from individual packets andre-assembled into multimedia content suitable for processing by adecoder.

User requests received by content delivery server 955 may include anindication of the content that is being requested. In some embodiments,this indication includes a network endpoint associated with the desiredcontent. The network endpoint may include an IP address and a transportlayer port number. For example, a particular local broadcast televisionstation may be associated with a particular channel and the feed forthat channel may be associated with a particular IP address andtransport layer port number. When a user wishes to view the station, theuser may interact with remote control device 926 to send a signal to STB921 indicating a request for the particular channel. When STB 921responds to the remote control signal, the STB 921 changes to therequested channel by transmitting a request that includes an indicationof the network endpoint associated with the desired channel to contentdelivery server 955.

Content delivery server 955 may respond to such requests by making astreaming video or audio signal accessible to the user. Content deliveryserver 955 may employ a multicast protocol to deliver a singleoriginating stream to multiple clients. When a new user requests thecontent associated with a multicast stream, there may be latencyassociated with updating the multicast information to reflect the newuser as a part of the multicast group. To avoid exposing thisundesirable latency to a user, content delivery server 955 maytemporarily unicast a stream to the requesting user. When the user isultimately enrolled in the multicast group, the unicast stream isterminated and the user receives the multicast stream. Multicastingdesirably reduces bandwidth consumption by reducing the number ofstreams that must be transmitted over the access network 930 to clients920.

As illustrated in FIG. 9, a client-facing switch 913 provides a conduitbetween client side 901, including client 920, and server side 902.Client-facing switch 913, as shown, is so-named because it connectsdirectly to the client 920 via access network 930 and it provides thenetwork connectivity of IPTV services to users' locations. To delivermultimedia content, client-facing switch 913 may employ any of variousexisting or future Internet protocols for providing reliable real-timestreaming multimedia content. In addition to the TCP, UDP, and HTTPprotocols referenced above, such protocols may use, in variouscombinations, other protocols including, RTP, real-time control protocol(RTCP), file transfer protocol (FTP), and real-time streaming protocol(RTSP), as examples.

In some embodiments, client-facing switch 913 routes multimedia contentencapsulated into IP packets over access network 930. For example, anMPEG-2 transport stream may be sent, in which the transport streamconsists of a series of 988-byte transport packets, for example.Client-facing switch 913, as shown, is coupled to a content deliveryserver 955, acquisition switch 914, applications switch 917, a clientgateway 953, and a terminal server 954 that is operable to provideterminal devices with a connection point to the private network 910.Client gateway 953 may provide subscriber access to private network 910and the resources coupled thereto.

In some embodiments, STB 921 may access MCDN 900 using informationreceived from client gateway 953. Subscriber devices may access clientgateway 953 and client gateway 953 may then allow such devices to accessthe private network 910 once the devices are authenticated or verified.Similarly, client gateway 953 may prevent unauthorized devices, such ashacker computers or stolen STBs, from accessing the private network 910.Accordingly, in some embodiments, when an STB 921 accesses MCDN 900,client gateway 953 verifies subscriber information by communicating withuser store 972 via the private network 910. Client gateway 953 mayverify billing information and subscriber status by communicating withan OSS/BSS gateway 967. OSS/BSS gateway 967 may transmit a query to theOSS/BSS server 981 via an OSS/BSS switch 915 that may be connected to apublic network 912. Upon client gateway 953 confirming subscriber and/orbilling information, client gateway 953 may allow STB 921 access to IPTVcontent, VOD content, and other services. If client gateway 953 cannotverify subscriber information (i.e., user information) for STB 921, forexample, because it is connected to an unauthorized local loop or RG,client gateway 953 may block transmissions to and from STB 921 beyondthe private access network 930. OSS/BSS server 981 hosts operationssupport services including remote management via a management server982. OSS/BSS resources 908 may include a monitor server (not depicted)that monitors network devices within or coupled to MCDN 900 via, forexample, a simple network management protocol (SNMP).

MCDN 900, as depicted, includes application resources 905, whichcommunicate with private network 910 via application switch 917.Application resources 905 as shown include an application server 960operable to host or otherwise facilitate one or more subscriberapplications 965 that may be made available to system subscribers. Forexample, subscriber applications 965 as shown include an EPG application963. Subscriber applications 965 may include other applications as well.In addition to subscriber applications 965, application server 960 mayhost or provide a gateway to operation support systems and/or businesssupport systems. In some embodiments, communication between applicationserver 960 and the applications that it hosts and/or communicationbetween application server 960 and client 920 may be via a conventionalweb based protocol stack such as HTTP over TCP/IP or HTTP over UDP/IP.

Application server 960 as shown also hosts an application referred togenerically as user application 964. User application 964 represents anapplication that may deliver a value added feature to a user, who may bea subscriber to a service provided by MCDN 900. For example, inaccordance with disclosed embodiments, user application 964 may be anapplication that harvests, processes, or distributes rating data fromviewers or alternatively, may be an application that presents embodiedEPGs to viewers to permit collaborative filters and intuitivenavigation. User application 964, as illustrated in FIG. 9, emphasizesthe ability to extend the network's capabilities by implementing anetwork-hosted application. Because the application resides on thenetwork, it generally does not impose any significant requirements orimply any substantial modifications to client 920 including STB 921. Insome instances, an STB 921 may require knowledge of a network addressassociated with user application 964, but STB 921 and the othercomponents of client 920 are largely unaffected.

As shown in FIG. 9, a database switch 916, as connected to applicationsswitch 917, provides access to database resources 909. Databaseresources 909 include a database server 970 that manages a systemstorage resource 972, also referred to herein as user store 972. Userstore 972, as shown, includes one or more user profiles 974 where eachuser profile includes account information and may include preferencesinformation that may be retrieved by applications executing onapplication server 960 including user applications 965.

FIG. 10 illustrates, in block diagram form, selected elements of anembodiment of a data processing system 1000 within which a set ofinstructions may operate to perform one or more of the methodologiesdiscussed herein. Data processing system 1000 may operate as astandalone device or may be connected (e.g., networked) to other dataprocessing systems. In a networked deployment, data processing system1000 may operate in the capacity of a server or a client data processingsystem in a server-client network environment, or as a peer computer ina peer-to-peer (or distributed) network environment. Example dataprocessing systems include, but are not limited to, an encoder, adigital video recorder, a personal computer (PC), a tablet PC, an STB, acable box, a satellite box, an EPG box, a personal data assistant, acellular telephone, a smart phone, a web appliance, a network router, aswitch, a bridge, a server, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. Further, while only a single data processing system isillustrated, the term “data processing system” shall also be taken toinclude any collection of data processing systems that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein.

As shown in FIG. 10, data processing system 1000 includes a processor1002 (e.g., a central processing unit, a graphics processing unit, orboth) and storage media 1001 that includes a main memory 1004 and anon-volatile memory 1006, and a disc drive unit 1016 that maycommunicate with each other via a bus 1008. In some embodiments, themain memory 1004 and/or the non-volatile memory 1006 may be used tostore the indicators or values that relate to multimedia contentaccessed or requested by a consumer. Data processing system 1000 mayfurther include a video display unit 1010 (e.g., a television, a liquidcrystal display or a cathode ray tube) on which to display multimediacontent such as the presentation of textual information (e.g., songlyrics) for a song, pay-per-view sporting events, television programs,VOD movies, and the like. Data processing system 1000 also includes analphanumeric input device 1012 (e.g., a keyboard), a user interface (UI)navigation device 1014 (e.g., a remote control or a mouse), a signalgeneration device 1018 (e.g., a speaker) and a network interface device1020. The input device 1012 and/or the UI navigation device 1014 (e.g.,the remote control) may include a processor (not shown), and a memory(not shown). The disk drive unit 1016 includes a magnetic or solid statemachine-readable medium 1022 that may have stored thereon one or moresets of instructions 1024 and data structures not depicted embodying orutilized by any one or more of the methodologies or functions describedherein. The instructions 1024 may also reside, completely or at leastpartially, within the main memory 1004, within non-volatile memory 1006,within network interface device 1020, and/or within the processor 1002during execution thereof by the data processing system 1000.

The instructions 1024 may be transmitted or received over a network 1026(e.g., a multimedia content provider) via the network interface device1020 utilizing any one of a number of transfer protocols (e.g.,broadcast transmissions, HTTP). While the machine-readable medium 1022is depicted as a single medium, the term “machine-readable medium”should be taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” shall also be taken to include any medium thatis capable of storing, encoding or carrying a set of instructions forexecution by the machine (i.e., data processing system) and that causethe machine to perform any one or more of the methodologies of thepresent invention, or that is capable of storing, encoding, or carryingdata structures utilized by or associated with such a set ofinstructions. The term “machine-readable medium” shall accordingly betaken to include, but not be limited to, solid-state memories, opticaland magnetic media.

In accordance with some embodiments, instructions 1024 are stored on atleast one computer readable media and enable data processing system 1000to present a primary node on a display, wherein the primary nodeincludes an identifier that represents a primary component. Furtherinstructions 1024 present a plurality of peripheral nodes on the displayaround the primary node, wherein a portion of the plurality ofperipheral nodes represent secondary components that belong to a subsetof the primary component. Still further instructions 1024, in someembodiments, are responsive to a user selecting a peripheral node torefresh the display to provide the selected peripheral node as a furtherprimary node, present a further plurality of peripheral nodes on thedisplay, wherein individual nodes of the further peripheral nodesrepresent further secondary components that are a subset of a componentrepresented by the further primary node. In some embodiments, furtherinstructions 1024 present at least one third order node associated withone or more of the plurality of peripheral nodes, wherein at least oneindividual node of the at least one third order node represents atertiary component that belongs to a subset of a secondary componentrepresented by the one or more of the plurality of peripheral nodes.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thetrue spirit and scope of the present disclosure. Thus, to the maximumextent allowed by law, the scope of the claimed subject matter is to bedetermined by the broadest permissible interpretation of the followingclaims and their equivalents, and shall not be restricted or limited bythe foregoing detailed description.

What is claimed is:
 1. A method of presenting electronic programmingguide information for selecting a multimedia program, the methodcomprising: responsive to a first input from a user, displaying a firstelectronic programming guide interface, the first electronic programmingguide interface including: a first primary node, wherein the firstprimary node represents the user; a first set of secondary nodespositioned along a first axis extending radially from the first primarynode, wherein each of the first set of secondary nodes identifies acorresponding multimedia program available for selection by the user;and a second set of secondary nodes positioned along a second axisextending radially from the first primary node, wherein each of thesecond set of secondary nodes identifies a corresponding category ofmultimedia programs; responsive to a second input indicating a selectedsecondary node in the first set of secondary nodes, displaying a secondelectronic programming guide interface, the second electronicprogramming guide interface including a second primary node identifyinga multimedia program corresponding to the selected secondary node and aset of subordinate nodes positioned on different radii extending fromthe second primary node; and responsive to a second input indicating aselected secondary node in the second set of secondary nodes, displayinga third electronic programming guide interface, the third electronicprogramming guide interface identifying multimedia programs belonging tothe category corresponding to the selected secondary node; wherein atleast one of the first set of secondary nodes and the second set ofsecondary nodes is displayed as a compact mosaic and further wherein thecompact mosaic comprises a rectangular table including a plurality ofgraphical classification elements, each graphical classification elementcomprising a column of the rectangular table, each column representing acorresponding multimedia program and wherein each global classificationelement includes a plurality of blocks, each block within a graphicalclassification element corresponding to a different genre, wherein afirst dimension of each block conveys a rating of the correspondingmultimedia program and a second dimension of each block conveys a degreeto which the corresponding multimedia program belongs to thecorresponding genre.
 2. The method of claim 1, wherein the width of thecompact mosaic indicates an overall rating for the correspondingmultimedia program available for selection by the user.
 3. The method ofclaim 1, wherein the compact mosaic includes a plurality of genre blockscorresponding to a plurality of genres wherein lengths of the genreblocks indicate the extent to which corresponding genres are associatedwith the corresponding multimedia program available for selection by theuser.
 4. The method of claim 2, wherein the first electronic programmingguide interface includes a third set of secondary nodes positioned alonga third axis extending radially from the first primary node, whereineach of the third set of secondary nodes identifies a correspondingmultimedia program available for selection by the user, wherein each ofthe third set of secondary nodes corresponds to a recorded multimediaprogram.
 5. The method of claim 1, wherein the corresponding category ofmultimedia programs identified by one of the second set of secondarynodes includes multimedia programs viewed by a plurality of groupmembers.
 6. The method of claim 4, further comprising presenting theuser with an indication of which multimedia programs are predicted to bemore applicable to the user.
 7. The method of claim 6, furthercomprising ordering a plurality of the first set of secondary nodesaccording to rating data.
 8. The method of claim 7, wherein the ratingdata is estimated from a plurality of viewing habits obtained from aplurality of group members.
 9. The method of claim 7, furthercomprising: predicting a plurality of multimedia programs that the usermay like; and representing a portion of the plurality of multimediaprograms by peripheral nodes.
 10. The method of claim 1, wherein: shapesof individual nodes of the first set of secondary nodes indicateratings.
 11. The method of claim 10, wherein: each of the second set ofsecondary nodes represents one of a plurality of genres.
 12. The methodof claim 1, wherein: each of the second set of secondary nodesidentifies a corresponding time slot.
 13. The method of claim 1, whereinthe subordinate nodes identify an air date associated with themultimedia program corresponding to the selected secondary node.
 14. Themethod of claim 1, wherein the subordinate nodes identify ratingsassociated with the multimedia program corresponding to the selectedsecondary node.
 15. The method of claim 1, further comprising: coding atleast one of the first set of secondary nodes to indicate a quality. 16.The method of claim 15, wherein the coding includes color coding. 17.The method of claim 15, wherein the coding includes shape coding. 18.The method of claim 1, wherein a third set of secondary nodes identifiesa member of a social network group to which the user belongs.
 19. Themethod of claim 18, further comprising, responsive to a user inputindicating a selected member of the social network group, displayinginformation indicative of a rating of a multimedia program by theselected member.
 20. The method of claim 19, further comprisingdisplaying a rating derived from a plurality of members of the socialnetwork group.
 21. A data processing system suitable for use in amultimedia content delivery network, the system comprising: a processor;and a computer readable storage medium including stored, processorexecutable instructions that, when executed by the processor, cause theprocessor to perform operations comprising: responding to a first inputfrom a user by displaying a first electronic programming guideinterface, the first electronic programming guide interface including: afirst primary node representing multimedia content available to theuser; a first set of secondary nodes positioned along a first axisextending radially from the first primary node, wherein each of thefirst set of secondary nodes identifies a corresponding multimediaprogram available for selection by the user; a second set of secondarynodes positioned along a second axis extending radially from the firstprimary node, where each of the second set of secondary nodes identifiesa corresponding category of multimedia programs; and a third set ofsecondary nodes positioned along a third axis extending radially fromthe first primary node, wherein the third set of secondary nodesidentifies individuals associated with the user; and responding to asecond input from a user, the second input identifying a selectedmultimedia program from the first set of secondary nodes, by displayinga subordinate interface, the subordinate interface including: asubordinate primary node identifying the selected multimedia program; aset of metadata nodes, each identifying a category of metadataassociated with the selected multimedia program; and a set of secondarynodes, each identifying persons associated with the user; wherein atleast one of the first set of secondary nodes and the second set ofsecondary nodes is displayed as a compact mosaic and further wherein thecompact mosaic comprises a rectangular table including a plurality ofgraphical classification elements, each graphical classification elementcomprising a column of the rectangular table, each column representing acorresponding multimedia program and wherein each global classificationelement includes a plurality of blocks, each block within a graphicalclassification element corresponding to a different genre, wherein afirst dimension of each block conveys a rating of the correspondingmultimedia program and a second dimension of each block conveys a degreeto which the corresponding multimedia program belongs to thecorresponding genre.
 22. The data processing system of claim 21, whereinthe set of metadata nodes includes an actor metadata node, a writermetadata node, a director metadata node, and an air date metadata node.23. The data processing system of claim 21, wherein the subordinateinterface includes a recommendation node configured to displayrecommendations for the user based, at least in part, on the selectedmultimedia program.
 24. The data processing system of claim 21, whereinthe subordinate interface includes a friend node identifying a friend ofthe user and a rating node indicating an evaluation of the selectedmultimedia program.
 25. The data processing system of claim 21, whereinthe subordinate interface includes a mosaic including a plurality ofgraphical classification elements, each corresponding to a contentcategory, wherein a size of a first dimension of each of the pluralityof graphical classification elements indicates a degree of thecorresponding category present in the selected multimedia program. 26.The data processing system of claim 25, wherein a size of a seconddimension of the mosaic indicates a rating of the selected multimediaprogram.
 27. A non-transitory computer readable storage medium includingstored, processor executable instructions that, when executed by aprocessor, cause the processor to perform operations comprising:responding to a first input from a user by displaying a first electronicprogramming guide interface, the first electronic programming guideinterface including: a first primary node representing multimediacontent available to the user; and a first set of secondary nodespositioned along a first axis extending radially from the first primarynode, wherein each of the first set of secondary nodes identifies acorresponding multimedia program available for selection by the user; asecond set of secondary nodes positioned along a second axis extendingradially from the first primary node, wherein each of the second set ofsecondary nodes identifies a time slot; and a third set of secondarynodes positioned along a third axis extending radially from the firstprimary node, wherein the third set of secondary nodes identifiesfriends of the user; and responding to a second input from a userindicating a selected secondary node from the second set of secondarynodes by displaying a second electronic programming guide interfaceindicating a plurality of multimedia programs available during the timeslot identified by the selected secondary node; and responding to asecond input from a user indicating a selected secondary node from thesecond set of secondary nodes by displaying a third electronicprogramming guide interface identifying multimedia programs belonging tothe category corresponding to the selected secondary node; and whereinat least one of the first set of secondary nodes and the second set ofsecondary nodes is displayed as a compact mosaic and further wherein thecompact mosaic comprises a rectangular table including a plurality ofgraphical classification elements, each graphical classification elementcomprising a column of the rectangular table, each column representing acorresponding multimedia program and wherein each global classificationelement includes a plurality of blocks, each block within a graphicalclassification element corresponding to a different genre, wherein afirst dimension of each block conveys a rating of the correspondingmultimedia program and a second dimension of each block conveys a degreeto which the corresponding multimedia program belongs to thecorresponding genre.